﻿#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

//不允许创建临时变量，交换两个整数的内容

//int main()
//{
//	int a = 5;
//	int b = 4;
//
//	printf("交换前：a=%d\n", a);
//	printf("交换前：b=%d\n", b);
//
//	a = a ^ b;
//	b = a ^ b;
//	a = b ^ a;
//	printf("交换后：a=%d\n",a );
//	printf("交换后：b=%d\n", b);
//
//
//	return 0;
//}

//int digui(int x, int y)
//{
//    if (y = 1)
//    {
//        return 2;
//    }
//    else
//    {
//        return (x * x ^ (y - 1));
//    }﻿
//}
//int main()
//{
//    int n = 0;
//    int k = 0;
//    scanf("%d %d", &n,& k);
//    int ret = digui(n, k);
//    printf("%d", ret);
//    return 0;
//}﻿


//编写一个函数实现n的k次方，使用递归实现
//
int pos(int x, int y)
{
	
	if (y == 0)
		return 1;
	else
		return x * pos(x,(x ^ (y - 1)));

}

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int ret=pos(a, b);
	printf("%d", ret);


	return 0;
}

int pos(int x, int y)
{
	return x + y;
}

int main()
{
	int a = 5;
	int b = 2;
	int ret = pos(a, b);
	printf("%d", ret);
	return 0;
}

